import axios from "axios";
import { Message } from "element-ui";
import Router from "./router";
import store from "./store.js";
// 请求拦截
axios.interceptors.request.use(
  config => {
    // Message("哈哈哈请求拦截");
    // 加载动画
    // 如果本地 token 存在，拿到 token
    // 可以不用登陆就进入需要 token 的页面
    if (localStorage.DStoken) {
      config.headers.Authorization = localStorage.DStoken;
    }
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);

// 响应拦截
axios.interceptors.response.use(
  response => {
    // 结束加载动画
    return response;
  },
  error => {
    // 获取错误状态码
    const { status } = error.response;
    if (status == 401) {
      console.log("401");
      Message("您的登录已过期，请重新登录");
      // localStorage.removeItem("DStoken");
      // localStorage.removeItem("DSuser");
      store.commit("clearDStokenUser");
      // setTimeout(function() {
      //   Router.go(0);
      // }, 500);
    }
    return Promise.reject(error);
  }
);

export default axios;
